//#ifndef PARSER_GENERATOR_H
//#define PARSER_GENERATOR_H
//#include<ros/ros.h>
//#include<QtXml>

//#include"SpeechServer/Result.h"
//#include"SpeechServer/Command.h"

//using std::string;
//class XmlProccessor
//{
//public:

//    XmlProccessor()
//    {

//    }

//    static string Generate(Command c)
//    {
//        QString xml_str;
//        QXmlStreamWriter writer(&xml_str);
//        writer.writeStartElement("Command");

//        writer.writeTextElement("CommandType",QString::fromStdString(c.commandtype));
//            writer.writeStartElement("Args");
//                for(unsigned int i=0;i<c.args.size();i++)
//                {
//                    writer.writeStartElement("arg");
//                            writer.writeTextElement("name",QString::fromStdString(c.args[i].name));
//                            writer.writeTextElement("data",QString::fromStdString(c.args[i].data));
//                    writer.writeEndElement();
//                }
//            writer.writeEndElement();
//         writer.writeEndElement();
//        return xml_str.toStdString()+"||";
//    }

//    //Parses a Xml Element containing string which has dataabout the result of the recognition from the Recognition Server
//    static Result Parse(string str)
//    {
//        str=str.substr(0,str.find("||"));
//        //ROS_INFO(str.c_str());
//        if(str=="")
//            return Result(false);
//        Result result;
//        QXmlStreamReader reader(str.c_str());

//        while(!reader.atEnd() && !reader.hasError())
//        {
//            QXmlStreamReader::TokenType token=reader.readNext();
//            if(token == QXmlStreamReader::StartElement)
//            {
//                QStringRef name= reader.name();
//                if(name == "Result")
//                {
//                   continue;
//                }
//                if(name == "Succeed")
//                {
//                    result.success= (reader.readElementText().toLower()=="true"?true:false);
//                }
//                if(name == "Command")
//                {
//                    result.command=reader.readElementText().toStdString();
//                }
//                if(name == "Text")
//                {
//                    result.text=reader.readElementText().toStdString();
//                }
////                if(name == "Hypothesizes")
////                {
////                    token=reader.readNext();
////                    name= reader.name();
////                    while(name=="Hypo")
////                    {
////                        result.hypothesizes.push_back(reader.readElementText().toStdString());
////                        token=reader.readNext();
////                        name= reader.name();
////                    }
////                }
//                if(name == "Confidence")
//                {
//                    result.confidence=reader.readElementText().toFloat();
//                }
//                if(name == "Position")
//                {
//                    result.position=reader.readElementText().toFloat();
//                }
//                if(name == "Position_Confidence")
//                {
//                    result.position_confidence=reader.readElementText().toFloat();
//                }
//            }
//        }
//        return result;
//    }

//};
////Generates a string of a XML element that represents a command which is going to send to the Recognition Server

//#endif
